The present invention relates generally to the field of portable hand-held devices and, more particularly, to system and methodology for facilitating user input in such devices having limited input capability.
The advent of portable hand-held devices, particularly credit card-sized devices, has resulted in wide acceptance of "PC companions" by consumers. These connected information "appliances" or devices offer greater mobility to today's PC users, while providing easy synchronization of information with desktop systems. Widespread acceptance has resulted in part from underlying product designs that provide greater mobility, while maintaining close synchronization with the user's PC's data. Users can have their essential data--events, contacts, and task lists--at their fingertips, at all times. Each "form factor" (i.e., physical size and dimensions) has its own set of expectations and constraints.
No matter how high the resolution is of a device's display, for instance, there still remains a finite amount of physical screen "real estate" which can be provided by the device. In the case of small hand-held devices, the amount of this screen real estate or physical screen area is obviously much less than that provided by desktop computers. If this problem is addressed by displaying items on screen at a smaller size, users have difficulty reading the information. Although virtual screen technology is available for users to "pan" across a larger virtual screen, the additional user input required to manage the process makes the approach undesirable. Information which cannot be seen is of no value to users.
Another problem facing small electronic devices is the difficulty of inputting information. With a small form factor or pocket-size device, it is simply not feasible to include a substantial keyboard for inputting information. Again, the size of the devices reduces the physical surface area available for accommodating input keys or the like. A conventional approach to the problem is to simply build a smaller keyboard, one using miniature input keys. The approach is problematic. In particular, most users find that their fingers are simply too big to use small keys with any degree of efficiency. Further, any efforts to increase the size of a keyboard or keypad in such a device reduces the amount of surface area available for the display screen.
An approach to this problem is to simply let the display screen double as an input device. The basic problem remains unsolved, however. Any display surface area allotted to display screen buttons decreases the amount available for displaying program information, such as output screens. Further, displaying different sets of keys during the operation of a program increases the complexity and, therefore, the learning curve for that program.
A similar approach to the above is handwriting recognition, such as is available with Apple's Newton device. With the current state of handwriting technology, however, the process is both processor intensive (and therefore slow) and error prone. These two disadvantages have combined to make present-day handwriting recognition unattractive to all but the most patient of users. Even with shorthand or gesture-based handwriting recognition, success of those devices remains limited, as most users are unwilling to spend the time mastering gesture strokes.
Again, the physical limitations imposed by these devices remains a problem. For handwriting recognition, for instance, the screen devices must be coated with a special material for receiving stroke input. That material adds yet another layer on top of the display screen thus making the screen more difficult to read (since screen contrast of an already small screen is decreased even further). All told, present-day handwriting recognition is far from an ideal solution.
Another popular PC companion is PalmPilot, which is designed to be used like a small writing tablet (i.e., requiring two hands). The success of the PalmPilot has, to an extent, resulted from a simplified handwriting recognition system called "Graffiti," which allows users to enter one letter at a time, using a specialized alphabet. Graffiti requires the use of a separate stylus, which is used to enter a modified single-stroke alphabet and a few special "gestures" on a specially designated area of the PalmPilot, separate from its main screen. To use Graffiti, users must employ a stylus on a touch-sensitive screen to draw single-stroke characters one at a time. The Graffiti area of the screen is further divided into two regions--one for letters and the other for numbers. Input mistakes are corrected by using the Backspace gesture--a horizontal line drawn from right to left. Once drawn, the figures are interpreted by Graffiti and displayed in the currently selected text input area. As the input for Graffiti is essentially simple text that is entered in a field, one character at a time, Graffiti is basically a pen-based replacement for an on-screen keyboard.
While the Graffiti model can be effective for some tasks, it comes with its own set of limitations and drawbacks. In particular, there is a steep learning curve for most end users, as the user must memorize a special input system. Users are required to memorize a special input alphabet, together with a complex set of additional punctuation markings and command gestures. While the basic alphabet poses little challenge to learn, the full mastery of the Graffiti system requires considerable effort on the part of a user, since most of the punctuation and alternate commands are rarely used and therefore are rarely reinforced. Input itself is slow, as it is entered only one character at a time, with the system requiring that each character be carefully drawn as designated. Handwriting recognition itself requires more hardware computing power, thus increasing the expense of the hardware while reducing battery life. Both the input stylus and touch-sensitive screen pose problems. The stylus is easily lost or broken. The touch-sensitive screens, which are relatively costly to produce, decreases screen clarity and brightness. Moreover, Graffiti provides no built-in intelligence for facilitating common input tasks, such an scheduling an appointment or editing an address book entry. Since Graffiti provides little more than an alternative to typing, the opportunity for increased efficiency in inputting information, particular in small devices, is left unrealized. These disadvantages are exacerbated for smaller devices, such as credit card-sized devices, where input resources are at a premium.
Despite all these shortcomings, there remains a growing interest in small or "form factor" smart electronic devices today. As a result, software applications which were typically the domain of desktop computers are now expected by users to be available on these small devices--devices which can easily fit in one's pocket or wallet. Although advances have occurred in software design which provide hand-held devices with substantial processing power, memory capacity, and display power, a number of "form factor" related problems nevertheless have remained unsolved by prior art devices.
What is needed is an improved input system and methodology for small devices, particularly credit card-sized devices having limited input capability. Such a system should facilitate user input by intelligently learning from and anticipating the user's actions. As a user employs the device, the system adapts to that user's personal styles and needs. In this manner, such a system may refine the user's choices, so that the process of entering and updating data becomes increasingly faster and easier, especially in devices where traditional input means (e.g., stylus) are awkward. The present invention fulfills this and other needs.